package model;

public class SpelSessie {
	private int aantalZetten;
	private boolean gewonnen;
	private boolean eindeSpel;
	private Tegel vorigeTegel;
	private int vorigeTegelPos;

	/**
	 * Maakt een nieuwe spel sessie aan
	 * @param woord
	 */
	public SpelSessie() {
		aantalZetten = 0;
		gewonnen = false;
		eindeSpel = false;
		vorigeTegel = null;
	}
	
	/**
	 * Kijkt of de opengedraaide tegel matched met de eerder opengedraaide tegel
	 * @param tegel
	 * @return
	 */
	public boolean checkTegelsMatch(Tegel tegel) {
		boolean valid = false;
		
		//dit is de tweede tegel die open gedraaid is, check of er een match is
		if (vorigeTegel != null) {
			if (vorigeTegel.getTegelNummer() == tegel.getTegelNummer()) {
				valid = true;
			}
		}
		return valid;
	}
	
	/**
	 * Set de vorige tegel op null
	 */
	public void resetVorigeTegel() {
		if (vorigeTegel != null) {
			setVorigeTegel(null, 0);
		}
	}
	
	/**
	 * Aantal zetten verhogen
	 */
	public void addZet() {
		aantalZetten++;
	}
	
	//***********************************************************
	//Getters en setters
	//
	//***********************************************************
	/**
	 * return of het einde spel is
	 */
	public boolean isEindeSpel() {
		return eindeSpel;
	}
	/**
	 * Return is gewonnen
	 * @return
	 */
	public boolean isGewonnen() {
		return gewonnen;
	}
	/**
	 * Return aantal zetten gedaan
	 * @return
	 */
	public int getAantalZetten() {
		return aantalZetten;
	}	
	public Tegel getVorigeTegel() {
		return vorigeTegel;
	}	
	public int getVorigeTegelPos() {
		return vorigeTegelPos;
	}
	public void setGewonnen(boolean waarde) {
		this.gewonnen = waarde;
	}
	public void setEindeSpel(boolean waarde) {
		this.eindeSpel = waarde;
	}
	public void setVorigeTegel(Tegel vorigeTegel, int vorigeTegelPos) {
		this.vorigeTegel = vorigeTegel;
		this.vorigeTegelPos = vorigeTegelPos;
	}
	public void setVorigeTegelPos(int vorigeTegelPos) {
		this.vorigeTegelPos = vorigeTegelPos;
	}
}
